This invention relates to an electronic control system for internal combustion engines and, more particularly, to an electronic control system which has at least two central processing units for independently controlling at least two operations, and which is capable of determining whether a malfunction has developed in counters connected to respective ones of these central processing units to detect engine speed.
A control system for electronically controlling such items as the amount of fuel injection and ignition timing of an internal combustion engine ordinarily is equipped with a single central processing unit (hereafter referred to as a "CPU") supplied with input signals indicative of various engine operating parameters. These signals include signals representing engine coolant temperature, absolute pressure in the engine intake pipe, a crank angle signal generated whenever the engine crankshaft rotates through a predetermined angular incremet, and a reference position signal, two pulses of which are generated per revolution of the crankshaft. On the basis of these input signals, the CPU executes two separate sets of computations, one related to control of fuel ignition quantity and the other related to control of ignition timing.
In recent years efforts have been made to meet the demand for improved drivability. This has resulted in more complex operational programs for each quantity that is to be controlled and, hence, in a heavier processing load upon the CPU. Consequently, when it is attempted to have a single CPU execute the processing needed to control a plurality of quantities, it is no longer possible to deal with an increase in processing load associated with each quantity. In particular, the demand for engine control of greater precision cannot be met at high engine rotation, where the time available for processing is less than that which can be used when the engine is rotating at low speed. Though this demand can in fact be satisfied if use is made of a CPU having a very high processing capability, such as a 32- or 64-bit CPU, this expedient is impractical because of the high cost involved.
An alternative approach is to adopt a control system which uses plural, e.g., two, CPUs to each of which a counter for detecting engine speed is connected so that each CPU may control a different operation based on the value of the count recorded in the corresponding counter. For example, one of two CPUs may be used to control ignition timing and the other to control the fuel injection quantity. When a control system of this type is adopted, a problem can arise if the counted values recorded by the two counters show a disparity because of a malfunction in one of the counters. If this happens, the computations capable of providing the optimum ignition timing and amount of fuel injection will no longer be executed even though the engine operating state is the same. As a result, it will no longer be possible to maintain the engine in the optimum operating state.